build-aux: search various Glib/GIO utilities in .pc file.
authorJehan <jehan@girinstud.io>
Sun, 21 Jun 2020 18:49:50 +0000 (20:49 +0200)
committerJehan <jehan@girinstud.io>
Sun, 28 Jun 2020 10:46:32 +0000 (12:46 +0200)
Some distributions are renaming Glib/GIO utilities for multi-arch
reasons so pkg-config variables have been added to find the correct name
of a tool. GTK+ should use these variables instead of searching in PATH.
See glib#1796.

build-aux/meson/post-install.py

index 5bdccbab91ead5f84001b61ac9c19d50d369afd5..4a4cc02fc4b9599a02c858e0f5e2ebd14a4ce6a2 100644 (file)
@@ -15,7 +15,10 @@ if 'DESTDIR' not in os.environ:
     gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')\r
 \r
     print('Compiling GSettings schemas...')\r
-    subprocess.call(['glib-compile-schemas',\r
+    glib_compile_schemas = subprocess.check_output(['pkg-config',
+                                                   '--variable=glib_compile_schemas',
+                                                   'gio-2.0']).strip()
+    subprocess.call([glib_compile_schemas,
                     os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])\r
 \r
     print('Updating icon cache...')\r
@@ -24,8 +27,11 @@ if 'DESTDIR' not in os.environ:
 \r
     print('Updating module cache for print backends...')\r
     os.makedirs(gtk_printmodule_dir, exist_ok=True)
-    subprocess.call(['gio-querymodules', gtk_printmodule_dir])\r
+    gio_querymodules = subprocess.check_output(['pkg-config',
+                                                '--variable=gio_querymodules',
+                                                'gio-2.0']).strip()
+    subprocess.call([gio_querymodules, gtk_printmodule_dir])
 \r
     print('Updating module cache for input methods...')\r
     os.makedirs(gtk_immodule_dir, exist_ok=True)
-    subprocess.call(['gio-querymodules', gtk_immodule_dir])\r
+    subprocess.call([gio_querymodules, gtk_immodule_dir])